The present invention relates generally to the field of data storage, and more particularly to storage hash rings.
Hash rings are used in object storage to locate data and place data. Hash rings consist of storage drives interconnected in accordance with a storage architecture. Storage architecture defines object placement and replication policies. The storage drives within hash rings may be low performance storage drives, such as hard drive disks, or high performance storage drives, such as solid state drives. Basic hash rings map objects to different storage drives in a cyclical pattern based on the object's hash value. For example, if a hash ring consists of four storage drives (numbered “0,” “1,” “2,” and “3,” respectively), the object's hash value will be converted to decimal form and divided by 4. The object will be placed into a storage drive based on the resultant remainder. That is, if the remainder is 1, the object will be placed into the storage drive numbered “1.”
Consistent hash rings are used to reduce object movement when disk storage drives are added or removed. Consistent hashing assigns each storage drive a range of hash values as opposed to numbering each storage drive. The range of hash values may be based on the first three letters of information in each hash value. If a new drive is added to the consistent hash ring, only the range of hash values must be changed.